# autor: Fabiano A. Lima
# Esse arquivo contém o código usado para gera ras tabelas e estimar os modelos.

library(tidyverse)
library(rvest)
library(urltools)
library(lubridate)

source("pesquisador.r", encoding = "utf8")
source("gera_tabela.r", encoding = "utf8")

folha <- folha() 
o_globo <- o_globo()

data_ini <- "01/01/2019"
data_fim <- "30/06/2020"

tbl_citacoes <- readRDS("./data/citacoes_mb_lj.rds")
tbl_citacoes$Total <- tbl_citacoes$Folha + tbl_citacoes$`O Globo`
gera_tabela_totais(tbl_citacoes)



df_mb <- read_csv("./data/marcelo bretas ultimos cinco anos.csv", col_types = "Dd", skip = 2, na="<1") 
df_mb_lj <- read_csv("./data/marcelo bretas lava jato ultimos cinco anos.csv", col_types = "Ddd", skip = 2, na="<1") 

df_final <- df_mb_lj %>%
  # filter(!is.na(`Operação Lava Jato: (Brasil)`) & !is.na(`Marcelo Bretas: (Brasil)`)) %>%
  rename(`Marcelo Bretas: (Brasil) Normalizado` = `Marcelo Bretas: (Brasil)`) %>%
  inner_join(df_mb %>% filter(!is.na(`Marcelo Bretas: (Brasil)`)), by = "Semana")

# normalizando dados
fit_norm <- lm(`Marcelo Bretas: (Brasil) Normalizado` ~ `Marcelo Bretas: (Brasil)`, data = df_final)

summary(fit_norm)

df_final <- df_final %>%
  mutate(`Marcelo Bretas: (Brasil) Normalizado Calculado` = coef(fit_norm)[1] + coef(fit_norm)[2] * `Marcelo Bretas: (Brasil)`)


df_citacoes_folha <- folha$gera_df(readRDS("./data/folha_mb_sem_lj.rds"), "folha")
df_citacoes_o_globo <- o_globo$gera_df(readRDS("./data/o_globo_mb_sem_lj.rds"), "globo")

df_final_model <- df_final %>%
  filter(Semana >= dmy(data_ini) & Semana <= dmy(data_fim)) %>%
  replace_na(list(`Marcelo Bretas: (Brasil) Normalizado Calculado` = 0.1, `Operação Lava Jato: (Brasil)` = 0.1, `Sérgio Moro: (Brasil)` = 0.1)) %>%
  left_join(df_citacoes_folha, by = "Semana") %>%
  left_join(df_citacoes_o_globo, by = "Semana") %>%
  replace_na(list(folha = 0, globo = 0)) %>%
  mutate(
    cit_indep = folha + globo,
    `Ano.2016` = ifelse(year(Semana) == 2016, 1, 0),
    `Ano.2017` = ifelse(year(Semana) == 2017, 1, 0),
    `Ano.2018` = ifelse(year(Semana) == 2018, 1, 0),
    `Ano.2019` = ifelse(year(Semana) == 2019, 1, 0),
    `Ano.2020` = ifelse(year(Semana) == 2020, 1, 0)
  ) 


fit_1 <- lm(`Marcelo Bretas: (Brasil) Normalizado Calculado` ~ `Operação Lava Jato: (Brasil)` , data = df_final_model)
fit_2 <- lm(`Marcelo Bretas: (Brasil) Normalizado Calculado` ~ `Operação Lava Jato: (Brasil)` + cit_indep  , data = df_final_model)
fit_3 <- lm(`Marcelo Bretas: (Brasil) Normalizado Calculado` ~ `Operação Lava Jato: (Brasil)` + cit_indep + `Ano.2019` + `Ano.2020`, data = df_final_model)


summary(fit_1)
summary(fit_2)
summary(fit_3)
gera_tabela(fit_1, fit_2, fit_3, "2020", "2019")

